Skip to content

Update to SongodaCore 3.9.8-SNAPSHOT for table prefix support#36

Closed
Distolfix wants to merge 8 commits into
Songoda-Plugins:developmentfrom
Distolfix:feature/songodacore-table-prefix
Closed

Update to SongodaCore 3.9.8-SNAPSHOT for table prefix support#36
Distolfix wants to merge 8 commits into
Songoda-Plugins:developmentfrom
Distolfix:feature/songodacore-table-prefix

Conversation

@Distolfix

Copy link
Copy Markdown

Updates dependency to use SongodaCore 3.9.8-SNAPSHOT which includes table prefix configuration support.

This change allows the plugin to work with the new table prefix feature, so multiple servers can share the same database by using different prefixes.

Related to: Songoda-Plugins/SongodaCore#126

songoda-plugins-overview Bot and others added 8 commits April 1, 2025 17:56
The suction module was only emitting InventoryPickupItemEvent when
the EMIT_INVENTORYPICKUPITEMEVENT setting was enabled. This prevented
other plugins from cancelling item pickup for their custom items.

This change makes the suction module always emit the event, allowing
any plugin to cancel pickup by listening to InventoryPickupItemEvent,
maintaining consistency with standard hopper behavior.

This is important because suction is an aggressive collection mechanism
that bypasses normal hopper behavior, and other plugins should have
control over what items can be collected.

Benefits:
- Universal plugin compatibility
- Plugins can block their custom items from being collected
- Uses standard Bukkit event system
- Backwards compatible with existing plugins
Changed from SNAPSHOT version which was not available in repositories.
Added minecraft-plugins-release repository to resolve dependencies.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
The suction module wasn't properly handling items stacked by stacker plugins (WildStacker, UltimateStacker, RoseStacker). This caused large stacks to disappear or be counted incorrectly.

Changes made:
- Bypass PickupDelay check for stacker items since we handle them through their APIs
- Read item amount BEFORE emitting InventoryPickupItemEvent (WildStacker modifies the stack during event processing at HIGHEST priority, which was causing incorrect counts)
- Add protected item check to respect shop items and custom plugin items (checks for display name, lore, or PDC data)
- Only bypass event cancellation for stacker items that aren't protected - this lets suction work with stacker plugins while still respecting protection from shop plugins like EzChestShopReborn
- Fix premature loop termination by changing return to continue for shulker boxes, shop items, and blacklisted items
- Add null checks in updateAmount() for WildStacker and RoseStacker APIs with fallback to vanilla handling

This ensures stacked items (like 128 diamonds from WildStacker) get collected properly while still respecting protected items from other plugins.
Added a new configuration option to support database table prefixes.
This is useful when multiple servers need to share the same database
but keep their data separate.

Configuration key: Main.Database Table Prefix
Default value: "" (empty string - no prefix)
Example usage: Setting it to "survival_" creates tables like
"survival_placed_hoppers" instead of "placed_hoppers"

This allows server administrators to run multiple instances (survival,
creative, etc.) on the same MySQL database without table name conflicts.
Added configuration option to support custom database table prefixes.
This allows multiple servers to share the same database while keeping
their hopper data separate.

Configuration:
- Key: Database.Table Prefix
- Default: "" (empty - no prefix)
- Example: "survival_" creates tables like "survival_placed_hoppers"

The prefix is automatically applied to all database tables:
- placed_hoppers
- links
- items
- boosted_players

Usage: Useful for running multiple server instances (survival, creative,
etc.) on the same MySQL database without table name conflicts.
@Distolfix

Copy link
Copy Markdown
Author

Closing this PR to create a clean one with only the pom.xml change

@Distolfix Distolfix closed this Nov 12, 2025
@Distolfix Distolfix deleted the feature/songodacore-table-prefix branch November 12, 2025 18:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant